package org.moonlight.jvm.classfile.attribute.mark;

/**
 * Deprecated属性用于指出类、接口、字段或方法已经不建议使用，编译器等工具可以根据Deprecated属性输出警告信息。
 * J2SE 5.0之前可以使用Javadoc提供的deprecated标签指示编译器给类、接口、字段或方法添加Deprecated属性，语法格式如下：
 *   /** deprecated **\/
 *   public void oldMethod() {...}
 * 从J2SE 5.0开始，也可以使用Deprecated注解，语法格式如下：
 *   @ Deprecated
 *   public void oldMethod() {...}
 *
 * Deprecated 和 Synthetic 是最简单的两种属性，仅起标记作用，不包含任何数据。
 * 这两种标记可以出现在 ClassFile、field_info 和 method_info 中。它们的结构定义如下：
 *   Deprecated_attribute {
 *     u2 attribute_name_index;
 *     u4 attribute_length;        //由于这两个属性都没有信息，所以其 attribute_length 都为 0；
 *   }
 *
 *   Synthetic_attribute {
 *     u2 attribute_name_index;
 *     u4 attribute_length;
 *   }
 *
 * @author Moonlight
 * @createTime 2023/8/15 16:07
 **/
public class DeprecatedAttribute extends MarkerAttribute {
}
